1. The Field of the Invention
The present invention relates to wireless access between a remote data terminal and a network node. More particularly, the present invention relates to determining and establishing a master/slave orientation during a communication session.
2. The Relevant Technology
The functionality of computing and communications has been converging for several years. There presently exists a tremendous growth of new types of electronic devices that enable users to communicate and access data over wireless links or channels, making computing and communications ubiquitous in all environments.
Because of the independent development of each of these devices, as well as variations in types of devices, interaction and networking of devices with each other had become a nightmare that required unique cabling and compatible interfaces for supporting the various interconnection approaches, many of which were held as proprietary by design. In order to facilitate communication between prospective devices, the user has been required to involve the use of special cables and software on each device in order to provid an agreeable interface. Such a device-specific interface fostered interconnection frustration and limited the usefulness of networking between devices. What was needed was a standardized wireless networking protocol that could be adopted and integrated by the various device manufactures that would enable seamless and compatible interconnection.
One such standard that has gained prominence is the Bluetooth standard (“Bluetooth”). The Bluetooth standard enables devices to communicate seamlessly without wires or other specific interconnection software. Bluetooth refers to an open specification technology for enabling short-range wireless voice and data communications anywhere in the world, with very few exceptions. Bluetooth is defined in a specification, Specification of the Bluetooth System, that addresses hardware and software requirements as well as applications and profiles that execute specific functionality in order to better facilitate the proliferation and acceptance of the standard.
From an implementation standpoint, for devices to communicate with each other using the Bluetooth standard, each communicating device either forms a network with another device, or joins an existing network as a new network member. Each of these networks is known as a piconet. A piconet includes a shared communications channel through which individual members communicate. Piconets are formed as needed and endure for as long as participating devices need to communicate. Bluetooth piconets are formed in a rather ad hoc manner. Each piconet has one and only one master and one or more slaves. These roles are temporary ones and they are meaningful only while Bluetooth devices are members of a piconet. Certainly, Bluetooth devices could be designed to function exclusively in either a master or a slave role as this is a system architecture design choice.
In addition to the ability of devices to assume a particular master or slave role, there are instances that necessitate that the roles of the master and slave be exchanged. For example, such an exchange is needed to implement the LAN access profile (LAP) (further described below) using a point-to-point protocol (PPP). To better appreciate the specific roles assumed by each of the devices, FIGS. 1-3 depict various device configurations and relationships. In FIG. 1, the case of establishment of a LAP between two individual computers, 100 and 102 is depicted. The LAP is essentially a procedure for establishing a PPP connection between the LAN access point and the data terminal. Once the PPP connection is established, conventional IP techniques may be employed. It should be pointed out that the PPP connection in the LAP is established directly over a packet-oriented data link.
The LAP defines device roles of a LAN access point (which may also be thought of as the data access point) and a data terminal (DT). The LAN access point exports PPP functionality and is connected to a LAN or WAN. The DT is the client of the LAN access point since it contains PPP client functionality, which is used to establish the connection with the LAN access point that in turn permits access to the LAN or WAN. The LAN access point must also assume the master role if it supports more than one data terminal. When only one data terminal is employed, for example when the LAN access point is dedicated to a single client or when the LAP is used for PPP networking between two devices, then it does not matter which device assumes the master role, but generally the LAN access point assumes the master role for LAP applications. A typical LAP configuration with a single data terminal 104 is illustrated in FIG. 2.
FIG. 3 depicts a LAP using a single LAN access point 106 and a plurality of data terminals 108, 110, and 112, operating in what is commonly referred to as multi-user mode. Clearly, in such an architecture where multiple data terminals exist or are possibilities, it is necessary to require that LAN access point 106 assume the master role in order to maintain and dictate the frequency hopping sequence and timing as well as dictating which slave data terminal may transmit at a given time.
Since device manufactures are free to select which Bluetooth performance features to include in their specific devices as well as others function to exclude from the devices, it is anticipated that many devices exist that have not implemented the master-slave switching process as defined in the Bluetooth specification. It should be recalled that this operation allows the roles of a master and slave to be switched when a data terminal acting as a master initiates a connection with a LAN access point operating in a multi-user mode master-slave switching is one of the requirements of the LAN Access Profile LAP. The LAP can be configured for two user—modes: multi-user and single-user. During single-user mode, the maximum number of users is one, providing exclusive access for the DT. This mode allows either the DT or the LAN access point to become master of the piconet. Multi-user mode allows multiple users to access the LAN access point and therefore dictates that the LAN access point must be the master of the piconet.
Briefly discussed below is a typical Bluetooth connection process that provides a basis upon which the invention may operate. FIG. 4 illustrates this process and a detailed treatment of this process is available in the Bluetooth specification, incorporated herein by reference.
From the DT's perspective, the connection process begins with the user initiating an inquiry function on the DT. The DT performs a device discovery process which looks for other available devices within range that are capable of being located. Once a device is identified, the DT retrieves service discovery protocol (SDP) service information about the devices found. The user may select the LAN access point and initiate the connection. It is assumed that authentication and other processes inherent in the Bluetooth specification have occurred, as understood by those of skill in the art.
From the LAN access point perspective, the LAN access point awaits a connection from a DT. Upon receiving an inquiry, the LAN access point provides details of its address and Bluetooth Clock to the DT. The DT request service information through further service discovery, the LAN access point presents the list of service it has available or the requested service information to the DT. The LAN access point accepts an incoming request from a DT to make the connection. Again, at this stage, it is assumed that authentication has taken place. Upon a successful connection between the LAN access point and the DT, the LAN access point then request a master-slave role switch so that the LAN access point may manage the piconet as the master.
The lack of mandated master-slave switching functionality in the DT, because of manufacture discretion, prohibits the ubiquitous, but switching deficient devices from engaging in a multi-user LAP. Therefore, it would be desirable to provide a method for allowing the DTs that lack switching functionality in a multi-user environment to assume a slave role thereby facilitating a multi-user architecture.